Convert strings to numbers with component in Vuetify












2














I have a Vuetify Datatable with inline editing using <v-edit-dialog> components.



enter image description here



The Calories column values are numbers, but when I edit them, they are converted to strings by default and I want them to stay as numbers. For example If I change Frozen Yogurt Calories from 159 to 30, the value becomes the string "30".



enter image description here



Code Snippet



<td>
<v-edit-dialog
:return-value.sync="props.item.calories"
lazy
@save="save"
> {{ props.item.calories }}
<v-text-field
type="number"
slot="input"
v-model.number="props.item.calories"
label="Edit"
single-line
></v-text-field>
</v-edit-dialog>
</td>


I thought that using v-model.number and the type=number would solve the problem, but it's still happening.



This is a pen where you can reproduce my issue:



https://codepen.io/jdash99/pen/dQJVwx?editors=1010










share|improve this question
























  • Is there a reason for using .sync modifier?
    – Traxo
    Nov 21 at 8:02










  • I'm confused. When I edit them, they're still being saved as numbers? Was this fixed already?
    – SnakeyHips
    Nov 21 at 11:49










  • @Traxo it's part of the example in the vuetify docs. I don't really know what it does... data table docs
    – Javier Cárdenas
    Nov 21 at 13:02










  • Does it work for you if you remove .sync modifier? Any side effects?
    – Traxo
    Nov 21 at 13:02










  • Edit. Can confirm removing .sync fixes the issue.
    – SnakeyHips
    Nov 21 at 13:07


















2














I have a Vuetify Datatable with inline editing using <v-edit-dialog> components.



enter image description here



The Calories column values are numbers, but when I edit them, they are converted to strings by default and I want them to stay as numbers. For example If I change Frozen Yogurt Calories from 159 to 30, the value becomes the string "30".



enter image description here



Code Snippet



<td>
<v-edit-dialog
:return-value.sync="props.item.calories"
lazy
@save="save"
> {{ props.item.calories }}
<v-text-field
type="number"
slot="input"
v-model.number="props.item.calories"
label="Edit"
single-line
></v-text-field>
</v-edit-dialog>
</td>


I thought that using v-model.number and the type=number would solve the problem, but it's still happening.



This is a pen where you can reproduce my issue:



https://codepen.io/jdash99/pen/dQJVwx?editors=1010










share|improve this question
























  • Is there a reason for using .sync modifier?
    – Traxo
    Nov 21 at 8:02










  • I'm confused. When I edit them, they're still being saved as numbers? Was this fixed already?
    – SnakeyHips
    Nov 21 at 11:49










  • @Traxo it's part of the example in the vuetify docs. I don't really know what it does... data table docs
    – Javier Cárdenas
    Nov 21 at 13:02










  • Does it work for you if you remove .sync modifier? Any side effects?
    – Traxo
    Nov 21 at 13:02










  • Edit. Can confirm removing .sync fixes the issue.
    – SnakeyHips
    Nov 21 at 13:07
















2












2








2


1





I have a Vuetify Datatable with inline editing using <v-edit-dialog> components.



enter image description here



The Calories column values are numbers, but when I edit them, they are converted to strings by default and I want them to stay as numbers. For example If I change Frozen Yogurt Calories from 159 to 30, the value becomes the string "30".



enter image description here



Code Snippet



<td>
<v-edit-dialog
:return-value.sync="props.item.calories"
lazy
@save="save"
> {{ props.item.calories }}
<v-text-field
type="number"
slot="input"
v-model.number="props.item.calories"
label="Edit"
single-line
></v-text-field>
</v-edit-dialog>
</td>


I thought that using v-model.number and the type=number would solve the problem, but it's still happening.



This is a pen where you can reproduce my issue:



https://codepen.io/jdash99/pen/dQJVwx?editors=1010










share|improve this question















I have a Vuetify Datatable with inline editing using <v-edit-dialog> components.



enter image description here



The Calories column values are numbers, but when I edit them, they are converted to strings by default and I want them to stay as numbers. For example If I change Frozen Yogurt Calories from 159 to 30, the value becomes the string "30".



enter image description here



Code Snippet



<td>
<v-edit-dialog
:return-value.sync="props.item.calories"
lazy
@save="save"
> {{ props.item.calories }}
<v-text-field
type="number"
slot="input"
v-model.number="props.item.calories"
label="Edit"
single-line
></v-text-field>
</v-edit-dialog>
</td>


I thought that using v-model.number and the type=number would solve the problem, but it's still happening.



This is a pen where you can reproduce my issue:



https://codepen.io/jdash99/pen/dQJVwx?editors=1010







javascript vue.js vuetify.js






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited Nov 21 at 12:58

























asked Nov 20 at 23:03









Javier Cárdenas

6742920




6742920












  • Is there a reason for using .sync modifier?
    – Traxo
    Nov 21 at 8:02










  • I'm confused. When I edit them, they're still being saved as numbers? Was this fixed already?
    – SnakeyHips
    Nov 21 at 11:49










  • @Traxo it's part of the example in the vuetify docs. I don't really know what it does... data table docs
    – Javier Cárdenas
    Nov 21 at 13:02










  • Does it work for you if you remove .sync modifier? Any side effects?
    – Traxo
    Nov 21 at 13:02










  • Edit. Can confirm removing .sync fixes the issue.
    – SnakeyHips
    Nov 21 at 13:07




















  • Is there a reason for using .sync modifier?
    – Traxo
    Nov 21 at 8:02










  • I'm confused. When I edit them, they're still being saved as numbers? Was this fixed already?
    – SnakeyHips
    Nov 21 at 11:49










  • @Traxo it's part of the example in the vuetify docs. I don't really know what it does... data table docs
    – Javier Cárdenas
    Nov 21 at 13:02










  • Does it work for you if you remove .sync modifier? Any side effects?
    – Traxo
    Nov 21 at 13:02










  • Edit. Can confirm removing .sync fixes the issue.
    – SnakeyHips
    Nov 21 at 13:07


















Is there a reason for using .sync modifier?
– Traxo
Nov 21 at 8:02




Is there a reason for using .sync modifier?
– Traxo
Nov 21 at 8:02












I'm confused. When I edit them, they're still being saved as numbers? Was this fixed already?
– SnakeyHips
Nov 21 at 11:49




I'm confused. When I edit them, they're still being saved as numbers? Was this fixed already?
– SnakeyHips
Nov 21 at 11:49












@Traxo it's part of the example in the vuetify docs. I don't really know what it does... data table docs
– Javier Cárdenas
Nov 21 at 13:02




@Traxo it's part of the example in the vuetify docs. I don't really know what it does... data table docs
– Javier Cárdenas
Nov 21 at 13:02












Does it work for you if you remove .sync modifier? Any side effects?
– Traxo
Nov 21 at 13:02




Does it work for you if you remove .sync modifier? Any side effects?
– Traxo
Nov 21 at 13:02












Edit. Can confirm removing .sync fixes the issue.
– SnakeyHips
Nov 21 at 13:07






Edit. Can confirm removing .sync fixes the issue.
– SnakeyHips
Nov 21 at 13:07














1 Answer
1






active

oldest

votes


















1














v-model.number changes it to number correctly, but something else changes it back to string, probably .sync modifier.

Remove .sync modifier from :return-value.sync and it should work.






share|improve this answer





















  • it works, but I hope someone can explain why the number changes to string again.
    – Javier Cárdenas
    Nov 21 at 14:41











Your Answer






StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");

StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);

StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});

function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});


}
});














draft saved

draft discarded


















StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53402921%2fconvert-strings-to-numbers-with-v-edit-dialog-component-in-vuetify%23new-answer', 'question_page');
}
);

Post as a guest















Required, but never shown

























1 Answer
1






active

oldest

votes








1 Answer
1






active

oldest

votes









active

oldest

votes






active

oldest

votes









1














v-model.number changes it to number correctly, but something else changes it back to string, probably .sync modifier.

Remove .sync modifier from :return-value.sync and it should work.






share|improve this answer





















  • it works, but I hope someone can explain why the number changes to string again.
    – Javier Cárdenas
    Nov 21 at 14:41
















1














v-model.number changes it to number correctly, but something else changes it back to string, probably .sync modifier.

Remove .sync modifier from :return-value.sync and it should work.






share|improve this answer





















  • it works, but I hope someone can explain why the number changes to string again.
    – Javier Cárdenas
    Nov 21 at 14:41














1












1








1






v-model.number changes it to number correctly, but something else changes it back to string, probably .sync modifier.

Remove .sync modifier from :return-value.sync and it should work.






share|improve this answer












v-model.number changes it to number correctly, but something else changes it back to string, probably .sync modifier.

Remove .sync modifier from :return-value.sync and it should work.







share|improve this answer












share|improve this answer



share|improve this answer










answered Nov 21 at 13:24









Traxo

4,07511439




4,07511439












  • it works, but I hope someone can explain why the number changes to string again.
    – Javier Cárdenas
    Nov 21 at 14:41


















  • it works, but I hope someone can explain why the number changes to string again.
    – Javier Cárdenas
    Nov 21 at 14:41
















it works, but I hope someone can explain why the number changes to string again.
– Javier Cárdenas
Nov 21 at 14:41




it works, but I hope someone can explain why the number changes to string again.
– Javier Cárdenas
Nov 21 at 14:41


















draft saved

draft discarded




















































Thanks for contributing an answer to Stack Overflow!


  • Please be sure to answer the question. Provide details and share your research!

But avoid



  • Asking for help, clarification, or responding to other answers.

  • Making statements based on opinion; back them up with references or personal experience.


To learn more, see our tips on writing great answers.





Some of your past answers have not been well-received, and you're in danger of being blocked from answering.


Please pay close attention to the following guidance:


  • Please be sure to answer the question. Provide details and share your research!

But avoid



  • Asking for help, clarification, or responding to other answers.

  • Making statements based on opinion; back them up with references or personal experience.


To learn more, see our tips on writing great answers.




draft saved


draft discarded














StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53402921%2fconvert-strings-to-numbers-with-v-edit-dialog-component-in-vuetify%23new-answer', 'question_page');
}
);

Post as a guest















Required, but never shown





















































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown

































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown







Popular posts from this blog

404 Error Contact Form 7 ajax form submitting

How to know if a Active Directory user can login interactively

TypeError: fit_transform() missing 1 required positional argument: 'X'