j-Directory
Det är en liknande komponent som j-Suggestion, men har förbättrad design och stöder mer smarta funktioner.
- singlar
- Arbeta med beröring
- Stöd för dark mode
IMPORTANT: Standardvis ger denna komponent ett värde som text från name-egenskapen.
Metoder:
Metod: component.show(options)
options.element {Element/jQuery Element}options.items {Array/String/Function}en lista över objekt (Stringbetyder en länk till datakällan)options.offsetX {Number}alternativ,xoffset (default:0)options.offsetY {Number}alternativ,yoffset (default:0)options.offsetWidth {Number}alternativ,widthoffset (default:0)options.placeholder {String}valfritt, en platsinnehavare för sökfältet- NEW
options.height {Number}valfritt, en höjd av behållaren (default:180) options.render {Function}valfritt, en funktion för anpassad rendering av objektetfunction(item, text)måste returneraHTMLoptions.custom {Boolean/String}alternativ, möjliggör retur av ett värde som inte är definierat ioptions.items, standard:falseoptions.minwidth {Number}valfritt, en minimal bredd, standard200options.maxwidth {Number}valfritt, högsta bredd, standardinfiniteoptions.callback(selected_item, element, iscustom, e) {Function}utlöses när användaren klickar på objektetoptions.key {String}valfritt, en standardkeyförtextvärde (default:name)options.empty {String}alternativ, lägger till tomt fältoptions.exclude {Function}är valfritt, kan utesluta objekt och måste returnera en booleanfunction(item) { return item.id !== 100 }options.close {Function}valfritt, kan bestämma stängningen av panelenoptions.search {Boolean/String}alternativ, kan dölja sökfältet (default:true) eller{String}(nyckelnamn) kan kartlägga ett värde för sökningoptions.selected {Object}är valfritt, kan innehålla ett valfritt värde (default:undefined)options.align {String}alternativ,left(default),rightellercenteroptions.position {String}valfritt,top(default),bottomoptions.raw {Boolean}är valfritt, det här alternativet förhindrar att tecken fly (i andra ord: HTML-innehåll kommer att tillåtas i etiketter av objekt, standard:false)options.classname {String}valfritt, en anpassad containerklass för alla objekt- absolut positionering fungerar endast om
options.elementinte definierasoptions.x {Number}absolut position Xoptions.y {Number}absolut position och
options.checkbox {Boolean}alternativ, möjliggör checkboxaroptions.checked {Array String}valfritt, identifierare av kontrollerade objekt- Riktade på
options.items {Function(q, next)} - Callback returnerar endast råidentifierare
Array {String}
- Riktade på
- NEW
options.template {String}valfritt, en anpassad Tangular mall t.ex.{{ name }}(default: null) - NEW
options.fuzzy {Boolean}valfritt, det kan inaktivera fuzzy sökning (default:true)
Metod: component.hide()
Konfigurera:
placeholder- en platsinnehavare för sökningencreate- en platsinnehavare förCreateetikett (default:Create)
Stödda objektfält:
name {String}ett märketemplate {String}valfritt, en anpassad Tangular mallclassname {String}alternativ, lägger till ytterligare klasser i elementet<li>disabled {Boolean}alternativ, det kan inaktivera objektetselected {Boolean}är valfritt, det väljer objektet
Formatera via Tangular:
var opt = {};
opt.items = [];
opt.push({ name: 'Total.js', template: '<b>{{ name }}</b>' });Formatera via custom:
var opt = {};
opt.items = [];
opt.push({ name: 'Total.js' });
opt.push({ name: 'Express.js' });
opt.push({ name: 'Koa.js' });
opt.render = function(item, name) {
return '<b>' + name + '</b>';
};Lägga till custom class:
var opt = {};
opt.items = [];
opt.push({ name: 'Total.js', classname: 'your_class_name' });Server-sidan sökning:
var opt = {};
opt.element = your_element;
opt.items = function(search, next) {
next([{ name: 'Item 1' }, { name: 'Item 2' }]);
};
opt.callback = function(selected) {
console.log(selected);
};
SETTER('directory/show', opt);Bra att veta:
- om
checkboxes:truesedan komponenten förlänger objekt genom att lägga till en timestampselectedts {Number}på grund av beställning
Använd den med <ui-component name="directory">När komponenten ännu inte är laddad, jComponent Ladda ner den första gången från adressen i DEF.fallback (en av Componentator Författare: Peter Širka. källa: The Componentator Komponenterna i lager, MIT licens.
<style>
body { background-color: #F0F0F0; }
</style>
<ui-component name="directory" config="placeholder:Search ..."></ui-component>
<div class="container">
<div><a href="javascript:void(0)" data-name="classic">Open directory - classic</a></div>
<div><a href="javascript:void(0)" data-name="checkboxes">Open directory - checkboxes</a></div>
</div>
<script>
$(document).on('click', 'a', function() {
var opt = {};
opt.element = $(this);
if (opt.element.attrd('name') === 'checkboxes') {
opt.checkbox = true;
opt.items = [{ name: 'Total.js', selected: true }, { name: 'Express.js', selected: true }, { name: 'Meteor.js' }, { name: 'Koa.js' }, { name: 'ASP.NET' }, { name: 'PHP' }, { name: 'Python' }, { name: 'Node.js' }];
} else
opt.items = [{ name: 'Total.js', template: '<b>{{ name }}</b>' }, { name: 'Express.js' }, { name: 'Meteor.js' }, { name: 'Koa.js' }, { name: 'ASP.NET' }, { name: 'PHP' }, { name: 'Python' }, { name: 'Node.js' }];
opt.callback = function(value) {
if (opt.checkbox)
console.log('SELECTED:', value);
else
console.log('CLICKED:', value);
};
SETTER('directory/show', opt);
});
</script>