The attributes passed into the component.
The root DOM element for the component.
Class component state that is persisted between redraws.
Updating this will not automatically trigger a redraw, unlike other frameworks.
This is different to Vnode state, which is always an instance of your class component.
This is undefined by default.
Returns a jQuery object for this component's element. If you pass in a selector string, this method will return a jQuery object, using the current element as its buffer.
For example, calling component.$('li') will return a jQuery object
containing all of the li elements inside the DOM element of this
component.
Optionalselector: stringa jQuery-compatible selector string
the jQuery object for the DOM node
A list of extension-defined custom setting components to be available.
The ItemList key represents the value for the type attribute.
All attributes passed are provided as arguments to the function added to the ItemList.
ItemList priority has no effect here.
extend(AdminPage.prototype, 'customFieldComponents', function (items) {
// You can access the AdminPage instance with `this` to access its `settings` property.
// Prefixing the key with your extension ID is recommended to avoid collisions.
items.add('my-ext.setting-component', (attrs) => {
return (
<div className={attrs.className}>
<label>{attrs.label}</label>
{attrs.help && <p className="helpText">{attrs.help}</p>}
My setting component!
</div>
);
})
})
StaticcomponentConvenience method to attach a component without JSX.
Has the same effect as calling m(THIS_CLASS, attrs, children).
StaticinitInitialize the component's attrs.
This can be used to assign default values for missing, optional attrs.
Builds a field component based on the provided attributes. Depending on the type of input, you can set the type to 'bool', 'select', or any standard type. Any values inside the 'extra' object will be added to the component as an attribute.
Alternatively, you can pass a callback that will be executed in ExtensionPage's context to include custom JSX elements.
Example
Example