SettingFileControl<K>
Official
A file-path input with a vault file suggester. Persists the selected file’s full path including extension (e.g. folder/note.md). Resolve the saved path with Vault.getFileByPath().
Import:
import type { SettingFileControl } from 'obsidian';Signature:
export interface SettingFileControl<K extends string = string> extends SettingControlBase<string, K>Extends: SettingControlBase<string, K>
Properties
| Property | Type | Description | |
|---|---|---|---|
| defaultValue? | string | Fallback when the resolver returns undefined/null.(Inherited from SettingControlBase) | |
| disabled? | (() => boolean) | boolean | Disables the control. Evaluated on each render, so a function form can reflect runtime state (e.g. whether another plugin is installed). Call update() on the setting tab to re-evaluate after the underlying state changes.(Inherited from SettingControlBase) | |
| filter? | (file: TFile) => boolean | Optional filter — only files for which this returns truthy are suggested. | |
| key | K | The config/storage property name passed to getControlValue and setControlValue on the setting tab.(Inherited from SettingControlBase) | |
| placeholder? | string | Placeholder text shown when the input is empty. | |
| type | 'file' | Discriminant identifying this control as a file input. | |
| validate? | (value: string) => string | void | Promise<string | void> | Validate a candidate value before it is persisted. Return a non-empty string to reject the change and surface it as an inline error message below the setting; return void/empty/undefined to accept and persist. Primarily intended for text-bearing controls ( text, textarea, number, file, folder) where the user can enter values the bind's type alone can't constrain.The stored value may already be invalid when the setting is rendered (e.g. data from a previous version of your plugin). The framework runs validate once on mount and shows the message if the seeded value fails; it does not modify or replace the stored value. Plugins that need to enforce invariants on stored data should validate again when reading their settings.(Inherited from SettingControlBase) |