File tree Expand file tree Collapse file tree 3 files changed +36
-4
lines changed Expand file tree Collapse file tree 3 files changed +36
-4
lines changed Original file line number Diff line number Diff line change 36
36
$: if (type === ' file' ) {
37
37
delete valueProp .value ;
38
38
} else {
39
- valueProp .value = value;
39
+ valueProp .value = value === undefined ? ' ' : value ;
40
40
}
41
41
42
42
onMount (() => {
46
46
});
47
47
48
48
function toNumber (value ) {
49
- return value === ' ' ? undefined : + value;
49
+ if (value === ' ' ) {
50
+ const nan = new Number (Number .NaN );
51
+ nan .length = 0 ;
52
+ return nan;
53
+ }
54
+ return + value;
50
55
}
51
56
52
57
function valueUpdater (e ) {
Original file line number Diff line number Diff line change 33
33
{type }
34
34
{disabled }
35
35
bind:value
36
+ bind:files
36
37
bind:dirty
37
38
bind:invalid
38
39
{updateInvalid }
112
113
export let label = null ;
113
114
export let type = ' text' ;
114
115
export let value = uninitializedValue;
116
+ export let files = uninitializedValue;
115
117
export let dirty = false ;
116
118
export let invalid = uninitializedValue;
117
119
export let updateInvalid = invalid === uninitializedValue;
122
124
let element;
123
125
let textField;
124
126
125
- $: valued = value !== uninitializedValue;
127
+ $: valued = value !== uninitializedValue || files !== uninitializedValue ;
126
128
127
129
$: placeholderProp = (fullwidth && label) ? {placeholder: label} : {};
128
130
129
- $: if (textField && valued && textField .value !== value) {
131
+ $: if (textField && value !== uninitializedValue && textField .value !== value) {
130
132
textField .value = value;
131
133
}
132
134
Original file line number Diff line number Diff line change 423
423
</div >
424
424
</div >
425
425
426
+ <div >
427
+ Different Types:
428
+
429
+ <div class =" columns margins" >
430
+ <div >
431
+ <Textfield bind:value ={valueTypeNumber } label =" Number" type =" number" />
432
+ </div >
433
+
434
+ <div >
435
+ <Textfield bind:value ={valueTypeDate } label =" DateTime-Local" type =" datetime-local" />
436
+ </div >
437
+
438
+ <div >
439
+ <Textfield bind:files ={valueTypeFiles } label ="File" type ="file" on:change ={handleFiles } />
440
+ </div >
441
+ </div >
442
+ </div >
443
+
426
444
<div >
427
445
Manual Setup:
428
446
530
548
let valueFullwidth = ' ' ;
531
549
let valueFullwidthTextarea = ' ' ;
532
550
let valueElementsLabel = ' ' ;
551
+ let valueTypeNumber = 0 ;
552
+ let valueTypeDate = ' ' ;
553
+ let valueTypeFiles = [];
533
554
let valueManualA = ' ' ;
534
555
let valueManualB = ' ' ;
535
556
let valueManualC = ' ' ;
540
561
valueClickable = ' ' ;
541
562
dirtyClickable = false ;
542
563
}
564
+
565
+ function handleFiles () {
566
+ alert (' Selected ' + valueTypeFiles .length + ' file(s).' );
567
+ }
543
568
</script >
544
569
545
570
<style >
You can’t perform that action at this time.
0 commit comments